<?php

class Anniversaire extends Evenement {
  /**
   * Age de l'utilisateur
   * @var unknown_type
   */
	private $age;
	
	/**
	 * L'utilisateur
	 */
	private $member;
	
	/**
	* Le dernier post du topic, on ne le demande qu'une fois par appel de la page histoire d'économiser la bdd
	**/
	private static $lastPost = 0;

	/**
	 * Construction de l'évènement :
	 */
	public function __construct($id_membre) {
		global $db;
		
		$member_infos = "SELECT
							user_id
							, username
							, user_birthday
						FROM ".USERS_TABLE."
						WHERE
							user_id = '".(int) $id_membre."'
						LIMIT 0,1";
		$result = $db->sql_query($member_infos);
		$this->member = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);
		
		//Calcul de l'âge :
		$age = date('y') - substr($this->member['user_birthday'], 6, 4);
		
		//SI ce n'est pas encore fait, alors on cherche la dernière page du topic :
		if(self::$lastPost == 0) {
			$lastPost_requete = "SELECT 
									t.topic_last_post_id
								FROM
									" . TOPICS_TABLE . " t
								WHERE
									t.topic_id = 1594";
			$result = $db->sql_query($lastPost_requete);
			$tmpA = $db->sql_fetchrow($result);
			self::$lastPost = $tmpA['topic_last_post_id'];
			$db->sql_freeresult($result);
		}
		
		//Changement du lien vers le topic anniversaires :
		$this->lien = 'http://www.disneymagicinteractive.com/post'.self::$lastPost.'.html';
	}
	
	/**
	 * Affiche dans le tempalte l'anniversaire des gens
	 * 
	 * @param boolean $boucle : permet de déterminer si l'évènement est affiché indépendamment 
   	 * ou dans une boucle
     * @param string $nested : si on est dans une boucle imbriqué voici le nom de la boucle supérieure, 
     * ce paramètre n'a aucun intérêt si on n'est pas dans une boucle, il ne sera pas considéré dans le code
     * 
	 */
	public function voirAnniversaire($boucle = false, $nested = null) {
		global $template;
		
	  	$infos = array(
		  		'USER_ID' => $this->member['user_id'],
		  		'USER_NOM' => $this->member['username'],
		  		'USER_AGE' => $this->age,
	  			'LIEN' => $this->lien);

	  	//Si ce n'est pas un nested block :
	  	if($boucle ==  null) {
		  	$template->assign_vars($infos);
	  	} elseif ($nested == true) {
	  		$template->assign_block_vars($nested.'.anniv', $infos);
	  	} else {
	  		$template->assign_block_vars('anniv', $infos);
	  	}
	}
	
	/**
	 * Retourne le username du chanceux qui a son anniversaire
	 * 
	 * @return string username
     * 
	 */
	public function getMemberUsername() {
		return $this->member['username'];
	}
	
}
?>
